<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

use models\negocio\ClienteBLL;
use models\negocio\EnderecoBLL;
use models\negocio\CidadeBLL;
use models\negocio\EstadoBLL;
use models\entidades\Cliente;
use models\entidades\Endereco;
use models\entidades\Cidade;
use models\entidades\Estado;

        

class Clientes extends CI_Controller{
    //put your code here
    
    public function index(){
        
        $clienteBLL = new ClienteBLL();
        
        $data = array();
        $data["clientes"] = $clienteBLL->buscarTodos();        
        
        $this->load->view('clientes/listar', $data); 
        
    }
    
    public function novo(){
        $cidadeBLL = new CidadeBLL();
        $estadoBLL = new EstadoBLL;
        
        $data = array();
        $data['cidades'] = $cidadeBLL->buscarTodos();
        $data['estados'] = $estadoBLL->buscarTodos();
        
        if (!empty($_POST)) {
            $cadastro = $this->novoAction();
            $data["erro"] = $cadastro["erro"];
            $data["mensagem"] = $cadastro["mensagem"];
        }     
        
        
        $this->load->view('clientes/novo',$data);        
        
    }
    
    public function novoAction(){
        $result = array("erro" => false);
        
        $cidadeBLL = new CidadeBLL();
        
        
        
        if(empty($_POST["nome"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o nome do Cliente.";
            return $result;
        }
        
        if(empty($_POST["cpfCnpj"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o CPF ou CNPJ do Cliente.";
            return $result;
        }
        if(empty($_POST["rg"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o RG do Cliente.";
            return $result;
        }
        if(empty($_POST["rgOrgao"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o Orção do RG.";
            return $result;
        }
        if(empty($_POST["email"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o email do Cliente.";
            return $result;
        }
        if(empty($_POST["telefone"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o telefone do Cliente."; 
            return $result;
        }
        //Endereço
        if(empty($_POST["rua"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o logradouro do Cliente.";
            return $result;
        }
        if(empty($_POST["bairro"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o bairro do Cliente.";
            return $result;
        }        
        if(empty($_POST["cidade"])){
            $result["erro"] = true;
            $result["mensagem"] = "Preencha o bairro do Cliente.";
            return $result;
        }
        
        $cidade = $cidadeBLL->buscarPorId($_POST["cidade"]);
        
        $endereco = new Endereco();
        $endereco->setLogradouro($_POST["rua"]);
        $endereco->setNumero($_POST["numero"]);
        $endereco->setComplemento($_POST["complemento"]);
        $endereco->setBairro($_POST["bairro"]);
        $endereco->setCep($_POST["cep"]);
        $endereco->setCidade($cidade);
        
        $cliente = new Cliente();
        $cliente->setNome($_POST['nome']);
        $cliente->setCpf($_POST['cpfCnpj']);
        $cliente->setRg($_POST['rg']);
        $cliente->setRgOrgaoEmissor($_POST['rgOrgao']);
        $cliente->setEmail($_POST['email']);
        $cliente->setTelefone($_POST['telefone']);
        $cliente->setCelular($_POST['celular']);
        $cliente->setEndereco($endereco);
        
        
        $this->doctrine->em->persist($endereco);
        $this->doctrine->em->persist($cliente);
        $this->doctrine->em->flush();
        
        $result["erro"] = false;
        $result["mensagem"] = "<strong>Sucesso!</strong> Cadastro realizado.";
        return $result;
    }
    
    public function editar(){
        
    }
    
    
    
    
}

?>
